using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UD.GRAL.DataAccess;
using UD.GRAL.Entity;
using UD.Utilities.Exceptions;

namespace UD.GRAL.Business
{
    public class ProyectoCurricularUDBLL
    {
        private ProyectoCurricularUDDAL vProyectoCurricularUDDAL;
        public ProyectoCurricularUDBLL()
        {
            vProyectoCurricularUDDAL = new ProyectoCurricularUDDAL();
        }
        public int InsertarProyectoCurricularUD(ProyectoCurricularUD pProyectoCurricularUD)
        {
            try
            {
                return vProyectoCurricularUDDAL.InsertarProyectoCurricularUD(pProyectoCurricularUD);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }
        public int ModificarProyectoCurricularUD(ProyectoCurricularUD pProyectoCurricularUD)
        {
            try
            {
                return vProyectoCurricularUDDAL.ModificarProyectoCurricularUD(pProyectoCurricularUD);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }
        public int EliminarProyectoCurricularUD(ProyectoCurricularUD pProyectoCurricularUD)
        {
            try
            {
                return vProyectoCurricularUDDAL.EliminarProyectoCurricularUD(pProyectoCurricularUD);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }

        public ProyectoCurricularUD ConsultarProyectoCurricularUD(int pIdProyectoCurricular)
        {
            try
            {
                return vProyectoCurricularUDDAL.ConsultarProyectoCurricularUD(pIdProyectoCurricular);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new GenericException(ex);
            }
        }

        public List<ProyectoCurricularUD> ConsultarProyectoCurricularUDs(String pCodProyectoCurricular, String pNombreProyectoCurricular, Boolean? pEstado)
        {
            try
            {
                return vProyectoCurricularUDDAL.ConsultarProyectoCurricularUDs(pCodProyectoCurricular, pNombreProyectoCurricular, pEstado);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new GenericException(ex);
            }
        }
    }
}
